package cn.lyjuan.payment.third.base.common.util;

import cn.lyjuan.payment.third.base.common.enums.ICodeEnum;

public class EnumUtils
{

    /**
     * 根据类型和值生成{@link ICodeEnum}的实现
     * @param enumCls
     * @param code
     * @param <T>
     * @return
     */
    public static <T extends Enum<?> & ICodeEnum> T to(Class<T> enumCls, Integer code)
    {
        T[] ts = enumCls.getEnumConstants();

        for (T t : ts)
        {
            if (t.getCode().equals(code))
            {
                return t;
            }
        }

        return null;
    }
}
